package br.com.bestOffer.ejb.usuario.entity;


import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import br.com.bestOffer.enumerator.Operadora;
import br.com.bestOffer.enumerator.TipoTelefone;

@Entity
@Table(name="TB02_TELEFONE")
public class Telefone implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -8742089627136343720L;

	@Id
	@GeneratedValue
	@Column(name="Id_telefone")
	private Long id;
	
	@Column(name="numero",length=15)
	private String numero;
	
	@Enumerated
	@Column(name="operadora")
	private Operadora operadora;
	
	@Enumerated
	@Column(name="tipo_telefone")
	private TipoTelefone tipoTelefone;
	
	@ManyToOne(fetch=FetchType.LAZY, targetEntity = Usuario.class , cascade = CascadeType.ALL)
	@JoinColumn(name = "fk_id_usuario",nullable=false, referencedColumnName="Id_usuario")
	private Usuario usuario;

	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNumero() {
		return numero;
	}
	public void setNumero(String numero) {
		this.numero = numero;
	}
	public Operadora getOperadora() {
		return operadora;
	}
	public void setOperadora(Operadora operadora) {
		this.operadora = operadora;
	}
	public TipoTelefone getTipoTelefone() {
		return tipoTelefone;
	}
	public void setTipoTelefone(TipoTelefone tipoTelefone) {
		this.tipoTelefone = tipoTelefone;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
}
